Gérer les retours et les erreurs
Les smartflows à la différence des workflows constituent des endpoint d'API et renvoient donc un résultat.
Les smartflows sont utilisés pour:
- La création d'API
- L'usage interne, utilisation dans les applications, les workflows ou les smartflows (lors d'appel de sous smartflows)
Le résultat du smartflow, peut être de type objet (JSON), primitif (texte, nombre, ...) ou de type Smart Object (pour l'usage interne).
Il est également possible de décrire le code de retour du smartflow (notamment pour gérer les erreurs).
Décrire la réponse
Pour décrire la réponse (résultat et code de retour), il faut utiliser le noeud Résultat du smartflow.
Le paramètre "Données" permet d'attacher le résultat.
Le paramètre "Code de réponse HTTP" permet de préciser le code https://developer.mozilla.org/fr/docs/Web/HTTP/Status
Exploiter la réponse
Lorsque l'on appelle un sous smartflow (API interne) ou un service (API externe), deux flows sont représentés:
- Le flow Succès qui sera emprunté si le code de réponse du endpoint (smartflow ou service externe) est inférieur à 400 (avec comme sortie son résultat).
- Le flow Erreur qui sera emprunté si le code est supérieur à 400 (avec comme sortie son code et son erreur).
Dans l'exemple illustré ci-dessous, un service externe est appelé, le résultat de ce service est envoyé à un sous smartflow qui va permettre de créer un Smart Object.
Si le service échoue, le résultat renverra le code et l'erreur renvoyée par le service (Service NOK).
Si le sous smartflow échoue, le résultat renverra le code et l'erreur renvoyée par le sous smartflow (Smartflow NOK).
Si le service et le sous smartflow se termine bien, le résultat renverra le Smart Object créé avec un code 201 (OK).